---
title: কেন Bloc?
description:
  Bloc কেন একটি শক্তিশালী স্টেট ম্যানেজমেন্ট সমাধান — তার একটি সংক্ষিপ্ত ধারণা।
sidebar:
  order: 1
---

Bloc উপস্থাপনাকে ব্যবসায়িক লজিক থেকে আলাদা করা সহজ করে তোলে, যার ফলে আপনার কোড
হয় _দ্রুত_, _সহজে পরীক্ষাযোগ্য_, এবং _পুনঃব্যবহারযোগ্য_।

প্রোডাকশন-মানের অ্যাপ্লিকেশন তৈরি করার সময়, স্টেট ম্যানেজমেন্ট অত্যন্ত
গুরুত্বপূর্ণ হয়ে ওঠে।

ডেভেলপার হিসেবে আমরা চাই:

- যেকোনো মুহূর্তে আমাদের অ্যাপ্লিকেশনের স্টেট কী — তা জানতে।
- প্রতিটি কেস সহজে পরীক্ষা করতে যাতে নিশ্চিত হওয়া যায় আমাদের অ্যাপ সঠিকভাবে
  প্রতিক্রিয়া দিচ্ছে।
- আমাদের অ্যাপ্লিকেশনের প্রতিটি ইউজার ইন্টারঅ্যাকশন রেকর্ড করতে যাতে ডেটা-চালিত
  সিদ্ধান্ত নিতে পারি।
- যতটা সম্ভব দক্ষভাবে কাজ করতে এবং আমাদের অ্যাপ্লিকেশন ও অন্যান্য অ্যাপ্লিকেশনে
  কম্পোনেন্টগুলো পুনঃব্যবহার করতে।
- একই প্যাটার্ন ও কনভেনশন অনুসরণ করে অনেক ডেভেলপার যেন নির্বিঘ্নে একই কোডবেসে
  কাজ করতে পারে।
- দ্রুত ও রিঅ্যাকটিভ অ্যাপ ডেভেলপ করতে।

Bloc এই সব প্রয়োজন এবং আরও অনেক কিছু পূরণ করার জন্য ডিজাইন করা হয়েছে।

অনেক স্টেট ম্যানেজমেন্ট সমাধান রয়েছে এবং কোনটি ব্যবহার করবেন তা সিদ্ধান্ত
নেওয়া কঠিন হতে পারে। একটিও সমাধান "পারফেক্ট" নয়!  
গুরুত্বপূর্ণ হলো—আপনার টিম এবং আপনার প্রজেক্টের জন্য যেটি সবচেয়ে উপযোগী, সেটি
নির্বাচন করা।

Bloc তিনটি মূল মূল্যবোধকে কেন্দ্র করে ডিজাইন করা হয়েছে:

- **Simple:** বুঝতে সহজ এবং বিভিন্ন দক্ষতার ডেভেলপাররা ব্যবহার করতে পারে।
- **Powerful:** ছোট ছোট কম্পোনেন্ট মিলে জটিল ও চমৎকার অ্যাপ্লিকেশন তৈরি করতে
  সাহায্য করে।
- **Testable:** অ্যাপ্লিকেশনের প্রতিটি অংশ সহজেই পরীক্ষা করা যায় যাতে আমরা
  আত্মবিশ্বাসের সাথে ইটারেট করতে পারি।

সর্বোপরি, Bloc স্টেট পরিবর্তনকে পূর্বানুমানযোগ্য করতে চায়—স্টেট কখন পরিবর্তিত
হতে পারে তা নিয়ন্ত্রণ করে এবং পুরো অ্যাপ্লিকেশন জুড়ে স্টেট পরিবর্তনের একটি
নির্দিষ্ট পদ্ধতি অনুসরণ করিয়ে।
